<?php
/**
 * phpless核心类
 * 启动phpless
 */
namespace phpless\core;

class Phpless
{
    // 启动框架
    static public function run()
    {
        // 开启 SESSION 
        $session_auto_start=config('SESSION_AUTO_START');
        if($session_auto_start)
            session_start();
        // dump("OK");
        // 加载自定义函数库 开始
        $app_function_path=APP_FUNCTION_PATH;
        // 判断目录是否存在
        if(is_dir($app_function_path)){
            $app_function_files=scandir($app_function_path);
            foreach($app_function_files as $k=>$v){
                // 去除 当前目录 ./ 、上级目录 ../
                if($v=='.' || $v=='..')
                    continue;
                $app_function_file_full_path=$app_function_path.'/'.$v;
                if(is_file($app_function_file_full_path))
                    include $app_function_file_full_path;
            }
            unset($app_function_file_full_path);
        }
        unset($app_function_path);
        // 加载自定义函数库 结束
        // 加载 Composer、如果存在 ./vendor/autoload.php 则加载、若无则不加载 开始
        $composer_autoload_file=APP.'/vendor/autoload.php';
        if(is_file($composer_autoload_file)){
            include $composer_autoload_file;
        }
        // 加载 Composer、如果存在 ./vendor/autoload.php 则加载、若无则不加载 结束
        // 加载路由
        $route=Route::getInstance();
        // dump($route);
        // 加载控制器类
        $ctrlClass=$route->ctrl;
        $action=$route->action;
        $ctrl = C($ctrlClass);
        // 访问方法
        $ctrl->$action();
    }
}
